#include "L298N.h"


void L298N_INIT(void)
{
	GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();


  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_8, GPIO_PIN_RESET);


  /*Configure GPIO pins : PB12 PB13 PB8 */
  GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_8;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
}

void car_forward(void)
{
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); 	
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET);
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET);
}
void car_back(void)
{
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); 	
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET);
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET);	
}
void car_stop(void)
{
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET); 	
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET);
    	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET);	
}

